<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>_SYS_DEBUG_PRINT Macro</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('frames.html', 'topic', '00002.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element94">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00716.html" target="topic">Debug System Service Library Help</a> &gt; <a href="00717.html" target="topic">Library Interface</a> &gt; c) Data Types and Constants &gt; <a href="00002.html" target="topic">_SYS_DEBUG_PRINT Macro</a></div>
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element1">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element2">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element90">
<a href="00001.html" target="topic">Previous</a> | <a href="00717.html" target="topic">Up</a> | <a href="00722.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element96">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: _SYS_DEBUG_PRINT Topic Title: _SYS_DEBUG_PRINT Macro)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table><div class="Element5">
_SYS_DEBUG_PRINT Macro</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<a name="PageContent"></a><div class="Element58">
<a name="4465736372697074696F6E"></a><div class="Element11">
<div class="Element10">
<p class="Element10">
Macro: _SYS_DEBUG_PRINT( <a href="00890.html" target="topic">SYS_ERROR_LEVEL</a> level, const char* format, ... )&nbsp;</p>
<p class="Element10">
This function formats and prints a debug message if the specified level is at or below the global system error level. It can be used to implement the <a href="00860.html" target="topic">SYS_DEBUG_PRINT</a> macro.</p></div>
</div>
<a name="43"></a><div class="Element99">
C</div>
<div class="Element101"><div class="Element100"><pre class="Element100"><strong><span style="color: #000080">#define</span></strong> <strong><span style="color: #000000">_SYS_DEBUG_PRINT</span></strong>(level, format, ...) <strong><span style="color: #000080">do</span></strong> { <strong><span style="color: #000080">if</span></strong>((level) &lt;= <a href="00855.html" target="topic">SYS_DEBUG_ErrorLevelGet</a>()) <a href="00839.html" target="topic">SYS_CONSOLE_Print</a>(<a href="00854.html" target="topic">SYS_DEBUG_ConsoleInstanceGet</a>(), format, ##__VA_ARGS__); } <strong><span style="color: #000080">while</span></strong> (0)</pre></div></div>
<a name="507265636F6E646974696F6E73"></a><div class="Element14">
Preconditions</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
<a href="00858.html" target="topic">SYS_DEBUG_Initialize</a> must have returned a valid object handle.</p></div>
</div>
<a name="506172616D6574657273"></a><div class="Element14">
Parameters</div>
<div class="Element11">
<div class="Element10">
<div class="Element312">
<div class="TableDiv">
<table cellspacing="0" class="Table3">
<tr>
<td class="Element300" valign="top" width="35%">
<div class="Element301">
Parameters&nbsp;</div></td><td class="Element304" valign="top" width="65%">
<div class="Element305">
Description&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
level&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
The current error level threshold for displaying the message.&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
format&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Pointer to a buffer containing the format string for the message to be displayed.&nbsp;</div></td></tr><tr>
<td class="Element302" valign="top" width="35%">
<div class="Element303">
...&nbsp;</div></td><td class="Element306" valign="top" width="65%">
<div class="Element307">
Zero or more optional parameters to be formated as defined by the format string.&nbsp;</div></td></tr></table></div></div>
</div>
</div>
<a name="52657475726E73"></a><div class="Element14">
Returns</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
None.</p></div>
</div>
<a name="52656D61726B73"></a><div class="Element14">
Remarks</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
Do not call this macro directly. Call the <a href="00860.html" target="topic">SYS_DEBUG_PRINT</a> macro instead.&nbsp;</p>
<p class="Element10">
The default <a href="00860.html" target="topic">SYS_DEBUG_PRINT</a> macro definition removes the message and function call from the source code. To access and utilize the message, define the SYS_DEBUG_USE_CONSOLE macro or override the definition of the <a href="00860.html" target="topic">SYS_DEBUG_PRINT</a> macro.</p></div>
</div>
<a name="4578616D706C65"></a><div class="Element14">
Example</div>
<div class="Element11">
<div class="Element10">
<div class="Element13"><div class="Element12"><pre class="Element12"><i><span style="color: #008000">// In configuration.h file: #define SYS_DEBUG_USE_CONSOLE</span></i>
<i><span style="color: #008000">// In sys_debug.h file: #define SYS_DEBUG_PRINT(level, fmt, ...) _SYS_DEBUG_PRINT(level, fmt, ##__VA_ARGS__)</span></i>

<i><span style="color: #008000">// In source code</span></i>
<strong><span style="color: #000080">int</span></strong> result;

result = SomeOperation();
<strong><span style="color: #000080">if</span></strong> (result &gt; MAX_VALUE)
{
    <a href="00860.html" target="topic">SYS_DEBUG_PRINT</a>(SYS_ERROR_WARNING, &quot;Result of %d exceeds max valuern&quot;, result);
    <i><span style="color: #008000">// Take appropriate action</span></i>
}</pre></div></div>
</div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<div class="Element95">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="00716.html" target="topic">Debug System Service Library Help</a> &gt; <a href="00717.html" target="topic">Library Interface</a> &gt; c) Data Types and Constants &gt; <a href="00002.html" target="topic">_SYS_DEBUG_PRINT Macro</a></div>
<div class="Element93">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element3">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element4">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element91">
<a href="00001.html" target="topic">Previous</a> | <a href="00717.html" target="topic">Up</a> | <a href="00722.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element97">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: _SYS_DEBUG_PRINT Topic Title: _SYS_DEBUG_PRINT Macro)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table></div>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>